#include <public/humsat_unitime.h>
/*!
     * This structure stores the configuration of the communication windows with
     * SGI station.
     *
     * \param init_time:    is the init point of the communication window.
     * \param end_time:    is the end point of communication window.
     * \param txrxConfig:   txrxConfig[2] = 0 Tx main, =1 Tx red
     * 					    txrxConfig[1] = 0 Rx main, =1 Rx red
     *  					txrxConfig[0] = 0 SSI, = 1 SGI
     *
     */

	struct HUMSATCommProg_t {

        CUniTime 			init_time;
        CUniTime 			end_time;
        uint8_t 			txrxConfig;
   };

	#define     MAX_HUMSATCommProgs 		6

   /*!
     * This class manages the communication windows with
     * station and sensor.
     *
     *
     */

   class CHUMSATCommManager {

    	static HUMSATCommProg_t commProgTable[MAX_HUMSATCommProgs];

     public:
		//static HUMSATCommProg_t commProgTable[MAX_HUMSATCommProgs];
    	static void ClearHUMSATCommProgTable();
    	static void InitHUMSATCommProgTable();
    	static bool_t IsHUMSATCommValid( HUMSATCommProg_t &commProg);
  	    bool_t GetNextHUMSATCommProg( HUMSATCommProg_t &commProg);
 	    bool_t ProgramHUMSATComm( HUMSATCommProg_t &commProg);


 	};
